<?php
class PerfilesController extends AppController {
    public $name = 'Perfiles';
    public $uses = array('Perfiles','Usuarios','Comisiones','Cursos','Organismos','carga_emp_comisiones','Empleados');
    public $components = array('Session');
    public $helpers = array('Html','Form');
    
    function index() {
        $this->layout = "principal";
        $this->set('title_for_layout', 'Carga Academica' );
        //$this->set('usuarios', $this->Usuarios->find('all'));
     }
    
    public function view($id = null) {
        $this->layout = "principal";
       /** $this->Post->id = $id;
        $this->set('post', $this->Post->read());**/
    }
	
	
	
	//CREACIÓN DE UN PERFIL
public function crearperfil()
{    
	$id=$this->Session->read('User.Usuarios.idempleado');
	$var=$this->Perfiles->query('select idperfil from perfiles where idempleado='."'".$id."'");
	//$this->set('var', $var);
	//pr ($var);
	if ($id = $var)
		{  
		//echo "YA tiene perfil";
		 $this->redirect(array('controller'=>'Perfiles','action' => 'yperfil'));

		}
	else 
	{
        $id=$this->Session->read('User.Usuarios.idempleado');
		$id=$this->Session->read('User.Usuarios.idempleado');

		$this->set('otro', $this->Perfiles->query('select * from empleados where idempleado ='."'".$id."'"));
		$this->set('otro1', $this->Perfiles->query('select * from perfiles where idempleado ='."'".$id."'"));
		
		$this->layout = "principal";
		$this->loadModel("Perfiles");
		$comisiones=$this->Perfiles->query("select * from comisiones");
				//pr($comisiones);
				 $this->set('comisiones',$comisiones);
		$organismos=$this->Perfiles->query("select * from organismos");
				//pr($organismos);
				 $this->set('organismos',$organismos);
		$cursos=$this->Perfiles->query("select * from cursos");
				
				 $this->set('cursos',$cursos);			 
		if ($this->request->is('post')) 
		{
				$datos=$this->request->data;
				//echo ($datos);
				$sql = "select insertar_perfilemp('".trim($datos['idempleado'])."'".","."'".$datos['formacionacademica']."";
				if($datos['maestria']){
				 $sql=$sql.", ".$datos['maestria']."";
				}
				if($datos['certificaciones']){
				 $sql=$sql.", ".$datos['certificaciones']."";
				}
				$sql=$sql."'".","."'".$datos['areas']."'".",".$datos['aniosexperiencia'].","."'".$datos['ponencias']."'".","."'".$datos['proyectosinvestigacion']."'".","."'".trim($datos['idempleado'])."'".");";
				$mensaje = $this->Perfiles->query($sql); 
				
				//INSERTANDO COMISION A LA QUE PERTENECE
				$comisiones = $_POST['comisiones'];
				for ($i=0;$i<count($comisiones);$i++)    
				{
				  //recogiendo valores del array
				  $this->Perfiles->query("INSERT INTO carga_emp_comisiones (idempleado,idcomision) VALUES ('".trim($datos['idempleado'])."', "."'".trim($comisiones[$i])."')");
				  echo $comisiones[$i];
                }
			
				//INSERTANDO ORGANISMO AL QUE PERTENECE
				
				$organismos = $_POST['organismos'];
				for ($i=0;$i<count($organismos);$i++)    
				{
				  //recogiendo valores del array
				  $this->Perfiles->query("INSERT INTO carga_emp_organismos (idempleado,idorganismo) VALUES ('".trim($datos['idempleado'])."', "."'".trim($organismos[$i])."')");
				  echo $organismos[$i];
	            }
			
				//INSERTANDO CURSO QUE IMPARTE
				$cursos = $_POST['cursos'];
				for ($i=0;$i<count($cursos);$i++)    
				{
				  //recogiendo valores del array
				  $this->Perfiles->query("INSERT INTO carga_emp_cursos (idempleado,idcurso) VALUES ('".trim($datos['idempleado'])."', "."'".trim($cursos[$i])."')");
				  echo $cursos[$i];
	            }
				$id=$this->Session->read('User.Usuarios.id_usuario');
				$this->Perfiles->query("select crear_perfil_bitacora('".$id."')");
				$this->redirect(array('controller'=>'Perfiles','action' => 'index'));
				
        }
    }	
}
	
	
	

public function consultarperfil()
{
    /*validacion*/
    $cuenta=0;
    foreach ($_SESSION['Privilegios'] as $priv){ if ($priv[0]['idprivilegio']==7){
        $cuenta=$cuenta+1;
        /*validacion*/
	//permite buscar el empleado para consultar su perfil 
	$this->layout = "principal";
	$this->loadModel("Perfiles"); 
    $datosper = $this->Perfiles->query("select * from empleados where idempleado in(select idperfil from perfiles where idempleado=idperfil) order by papellido;");	 
	$this->set('datosper',$datosper);
    if ($this->request->is('post'))
	{
	    
        $a= $this->request->data;
         //pr( $a['perfilemp']);
		$id=$this->Session->read('User.Usuarios.id_usuario');
		$this->Perfiles->query("select consultar_perfil_bitacora('".$id."')");
		$this->redirect(array('action' => 'verperfiles',$a['perfilemp']));
    }

        /*validacion*/
    }  }
    if($cuenta==0)
    {$this->redirect(array('controller'=>'home','action'=>'index'));}
    /*validacion*/

}//fin de la funcion



public function verperfiles($idempleado=null)
{  /*validacion*/
    $cuenta=0;
    foreach ($_SESSION['Privilegios'] as $priv){ if ($priv[0]['idprivilegio']==7){
        $cuenta=$cuenta+1;
        /*validacion*/
	$this->layout = "principal";
	$this->loadModel("Perfiles");
	$datos=$this->Perfiles->query("select * from perfiles where idperfil = '".$idempleado."' ");
    $this->set('datos',$datos);
	$comisiones=$this->Perfiles->query("select * from comisiones");	
    $this->set('comisiones',$comisiones);
	$cargacomisiones=$this->Perfiles->query("select * from carga_emp_comisiones");
    $this->set('cargacomisiones',$cargacomisiones);
	$this->set('otro', $this->Perfiles->query('select * from empleados where idempleado ='."'".$idempleado."'"));
	$this->set('otro1', $this->Perfiles->query('select * from perfiles where idempleado ='."'".$idempleado."'"));
    $this->set('otro2',$this->Perfiles->query('select nombrecomision from comisiones where idcomision in (select idcomision from carga_emp_comisiones where idempleado='."'".$idempleado."'".")"));
	$this->set('otro3',$this->Perfiles->query('select nombreorganismo from organismos where idorganismo in (select idorganismo from carga_emp_organismos where idempleado='."'".$idempleado."'".")"));
    $this->set('otro4',$this->Perfiles->query('select nombrecurso from cursos where idcurso in (select idcurso from carga_emp_cursos where idempleado='."'".$idempleado."'".")"));
    
	$this->layout = "principal";
    $this->loadModel("Perfiles");
    //if ($this->request->is('post')) 
	//{
    //        $datos=$this->request->data;
    //        $mensaje = $this->Perfiles->query("select insertar_perfil("."'".$datos['idusuario']."'".",".$datos['idperfil'].",".$datos['formacionacademica'].","."'".$datos['areas']."'".","."'".$datos['aniosexperiencia']."'".","."'".$datos['ponencias']."'".","."'".$datos['proyectosinvestigacion']."'".");");
    //        $this->Session->setFlash($mensaje);
    //        $this->redirect(array('controller'=>'home','action' => 'index'));
    //}


        /*validacion*/
    }  }
    if($cuenta==0)
    {$this->redirect(array('controller'=>'home','action'=>'index'));}
    /*validacion*/


    }//fin de la funcion



public function modificarperfil()
	{
		$id=$this->Session->read('User.Usuarios.idempleado');
		$var = $this->Perfiles->query('select idperfil from perfiles where idempleado='."'".$id."'");
		if ($id = $var)
		{  
			$this->layout = "principal";
			$this->loadModel("Perfiles");
			$id=$this->Session->read('User.Usuarios.idempleado');
			$this->set('otro', $this->Perfiles->query('select * from empleados where idempleado ='."'".$id."'"));
			$this->set('otro1', $this->Perfiles->query('select * from perfiles where idempleado ='."'".$id."'"));
	
			$comisiones=$this->Perfiles->query("select * from comisiones");
		    $this->set('comisiones',$comisiones);
			$organismos=$this->Perfiles->query("select * from organismos");
			$this->set('organismos',$organismos);
			$cursos=$this->Perfiles->query("select * from cursos");
			$this->set('cursos',$cursos);			 
			if ($this->request->is('post')) 
			{
				$datos=$this->request->data;
				$sql = "select modificar_perfilemp('".trim($datos['idempleado'])."'".","."'".$datos['formacionacademica']."";
				$sql=$sql."'".","."'".$datos['areas']."'".",".$datos['aniosexperiencia'].","."'".$datos['ponencias']."'".","."'".$datos['proyectosinvestigacion']."'".","."'".trim($datos['idempleado'])."'".");";
				$mensaje = $this->Perfiles->query($sql); 
				$this->Perfiles->query("select eliminar_carga_emp_comisiones("."'".$id."'".")");
				//INSERTANDO COMISION A LA QUE PERTENECE
				$comisiones = $_POST['comisiones'];
				for ($i=0;$i<count($comisiones);$i++)    
				{
				  //recogiendo valores del array
				  $this->Perfiles->query("select modificar_carga_emp_comisiones('".trim($datos['idempleado'])."', "."'".trim($comisiones[$i])."')");
				  echo $comisiones[$i];
				}
				//INSERTANDO ORGANISMO AL QUE PERTENECE
				$this->Perfiles->query("select eliminar_carga_emp_organismos("."'".$id."'".")");
				$organismos = $_POST['organismos'];
				for ($i=0;$i<count($organismos);$i++)    
				{
				  //recogiendo valores del array
				  $this->Perfiles->query("select modificar_carga_emp_organismos ('".trim($datos['idempleado'])."', "."'".trim($organismos[$i])."')");
				}
			//INSERTANDO CURSO QUE IMPARTE
				$this->Perfiles->query("select eliminar_carga_emp_cursos("."'".$id."'".")");
				$cursos = $_POST['cursos'];
				for ($i=0;$i<count($cursos);$i++)    
				{
				  //recogiendo valores del array
				  $this->Perfiles->query("select modificar_carga_emp_cursos ('".trim($datos['idempleado'])."', "."'".trim($cursos[$i])."')");
				  echo $cursos[$i];
	            }
				$id=$this->Session->read('User.Usuarios.id_usuario');
				$this->Perfiles->query("select modificar_perfil_bitacora('".$id."')");
				$this->redirect(array('controller'=>'Perfiles','action' => 'index'));	
            } 
			//
		}
		else 
		     {
				$this->redirect(array('controller'=>'Perfiles','action' => 'fcrearperfil'));
		     }
}

	
	//CONSULTA DE PERFIL DEL USUARIO QUE ESTA EN SESION
	
public function cperfil()
{
	$id=$this->Session->read('User.Usuarios.idempleado');
	$var=$this->Perfiles->query('select idperfil from perfiles where idempleado='."'".$id."'");
	if ($id = $var)
	{  
		$id=$this->Session->read('User.Usuarios.idempleado');
		$comisiones=$this->Perfiles->query("select * from comisiones");
		$this->set('comisiones',$comisiones);
		$cargacomisiones=$this->Perfiles->query("select * from carga_emp_comisiones");
			
		$this->set('cargacomisiones',$cargacomisiones);
		$this->set('otro', $this->Perfiles->query('select * from empleados where idempleado ='."'".$id."'"));
		$this->set('otro1', $this->Perfiles->query('select * from perfiles where idempleado ='."'".$id."'"));
		$this->set('otro2',$this->Perfiles->query('select nombrecomision from comisiones where idcomision in (select idcomision from carga_emp_comisiones where idempleado='."'".$id."'".")"));
		$this->set('otro3',$this->Perfiles->query('select nombreorganismo from organismos where idorganismo in (select idorganismo from carga_emp_organismos where idempleado='."'".$id."'".")"));
		$this->set('otro4',$this->Perfiles->query('select nombrecurso from cursos where idcurso in (select idcurso from carga_emp_cursos where idempleado='."'".$id."'".")"));
    
		$this->layout = "principal";
		$this->loadModel("Perfiles");
		if ($this->request->is('post')) 
		{
			$datos=$this->request->data;
			$id=$this->Session->read('User.Usuarios.id_usuario');
            $this->Perfiles->query("select consultar_perfil_bitacora('".$id."')");
			$this->redirect(array('controller'=>'Perfiles','action' => 'index'));
        }
			
	}
	else 
	{
		$this->redirect(array('controller'=>'Perfiles','action' => 'fcrearperfil'));
	}
}
    
    public function consultarcarga()
	{    
	    $this->layout = "principal";
        $id=$this->Session->read('User.Usuarios.idempleado');
        
        $sql = "select idempleado, idcategoria, idrol, dui, direccionempleado, pnombre, snombre, papellido, sapellido, categoriaprofesor, estadoempleado, (select nombre from contrataciones where contrataciones.idcategoria = empleados.idcategoria) as idcat from empleados where idempleado= '".$id."'";
        $empleado = $this->Empleados->query($sql);
        $this->set('empleado', $empleado);
        
        $sql1 = "select * from trabajosgraduacions where idtg in (select idtg from carga_emp_trabajograduacion where idempleado = '".$id."');";
        $tgs = $this->Empleados->query($sql1);
        $this->set('tgsfalse', $tgs);
        
        $sql2 = "select * from horariosgrupos where idhorario in (select idhorario from carga_emp_horarios where idempleado = '".$id."');";
        $hrs = $this->Empleados->query($sql2);
        $this->set('hrsfalse', $hrs);
        
        $sql3 = "select * from comisiones where idcomision in (select idcomision from carga_emp_comisiones where idempleado = '".$id."');";
        $com = $this->Empleados->query($sql3);
        $this->set('comfalse', $com);
        
        $sql4 = "select * from organismos where idorganismo in (select idorganismo from carga_emp_organismos where idempleado = '".$id."');";
        $org = $this->Empleados->query($sql4);
        $this->set('orgfalse', $org);
     
        $sql5 = "select * from cursos where idcurso in (select idcurso from carga_emp_cursos where idempleado = '".$id."');";
        $cur = $this->Empleados->query($sql5);
        $this->set('curfalse', $cur);
  
        
        $dato = $this->Empleados->query("select horas_en_comsiones('".$id."');");
        $this->set('horascomisiones', $dato);
        $dato = $this->Empleados->query("select horas_en_organismos('".$id."');");
        $this->set('horasorganismos', $dato);
        $dato = $this->Empleados->query("select horas_en_cursos('".$id."');");
        $this->set('horascursos', $dato);
        $dato = $this->Empleados->query("select horas_en_tg('".$id."');");
        $this->set('horastg', $dato);
        $dato = $this->Empleados->query("select horas_en_horariosgrupos('".$id."');");
        $this->set('horasgrupos', $dato);
        $dato = $this->Empleados->query("select carga_total_actividades('".$id."');");
        $this->set('horastotal', $dato);
        $dato = $this->Empleados->query("select max_carga('".$id."');");
        $this->set('horasmax', $dato);
        $dato = $this->Empleados->query("select horas_disponibles(max_carga('".$id."'),carga_total_actividades('".$id."'))");
        if ($dato[0][0]['horas_disponibles']<0){
            $dato[0][0]['horas_disponibles']=0;    
        }
        $this->set('horasdiponibles', $dato);
        $dato = $this->Empleados->query("select horas_disponibles(carga_total_actividades('".$id."'),max_carga('".$id."'))");
        if ($dato[0][0]['horas_disponibles']<0){
            $dato[0][0]['horas_disponibles']=0;    
        }
        $this->set('horasextras', $dato);

    }
	
	function fcrearperfil($id = null) 
    { 
	 $this->layout = "principal";
	}
	
	function yperfil($id = null) 
    { 
	 $this->layout = "principal";
	}
	
	//PRUEBA IMPRIMIR
function imprimir($id = null) 
    { 
	   $id=$this->Session->read('User.Usuarios.idempleado');
	   $var=$this->Perfiles->query('select idperfil from perfiles where idempleado='."'".$id."'");
	   if ($id = $var)
	   {
	    $this->response->header(array('Content-type: application/pdf')); 
        $this->response->type('pdf'); 
        $this->layout = "principal";
        $id=$this->Session->read('User.Usuarios.idempleado');       
		if (!$id) 
        { 
            $this->Session->setFlash('Sorry, there was no property ID submitted.'); 
            $this->redirect(array('action'=>'index'), null, true); 
        } 
        Configure::write('debug',2); // Otherwise we cannot use this method while developing 
		$id=$this->Session->read('User.Usuarios.idempleado');
		$comisiones=$this->Perfiles->query("select * from comisiones");
		$this->set('comisiones',$comisiones);
		$cargacomisiones=$this->Perfiles->query("select * from carga_emp_comisiones");
			
		$this->set('cargacomisiones',$cargacomisiones);
		$this->set('otro', $this->Perfiles->query('select * from empleados where idempleado ='."'".$id."'"));
		$this->set('otro1', $this->Perfiles->query('select * from perfiles where idempleado ='."'".$id."'"));
		$this->set('otro2',$this->Perfiles->query('select nombrecomision from comisiones where idcomision in (select idcomision from carga_emp_comisiones where idempleado='."'".$id."'".")"));
		$this->set('otro3',$this->Perfiles->query('select nombreorganismo from organismos where idorganismo in (select idorganismo from carga_emp_organismos where idempleado='."'".$id."'".")"));
		$this->set('otro4',$this->Perfiles->query('select nombrecurso from cursos where idcurso in (select idcurso from carga_emp_cursos where idempleado='."'".$id."'".")"));
    
		//echo $con;
       // $id = intval($id);
        if (empty($id)) 
        { 
            $this->Session->setFlash('Sorry, there is no property with the submitted ID.'); 
            $this->redirect(array('action'=>'index'), null, true); 
        } 

        $this->layout = 'pdf'; //this will use the pdf.ctp layout 
        $this->render(); 
    }
	else 
	{
		$this->redirect(array('controller'=>'Perfiles','action' => 'fcrearperfil'));
	}
}

//imprimir carga
function imprimircarga($id = null) 
    { 
	   $id=$this->Session->read('User.Usuarios.idempleado');
	   $var=$this->Perfiles->query('select idperfil from perfiles where idempleado='."'".$id."'");
	   if ($id = $var)
	   {
	    $this->response->header(array('Content-type: application/pdf')); 
        $this->response->type('pdf'); 
        $this->layout = "principal";
        $id=$this->Session->read('User.Usuarios.idempleado');       
		if (!$id) 
        { 
            $this->Session->setFlash('Sorry, there was no property ID submitted.'); 
            $this->redirect(array('action'=>'index'), null, true); 
        } 
        Configure::write('debug',2); // Otherwise we cannot use this method while developing 
		$id=$this->Session->read('User.Usuarios.idempleado');
		
		$sql = "select idempleado, idcategoria, idrol, dui, direccionempleado, pnombre, snombre, papellido, sapellido, categoriaprofesor, estadoempleado, (select nombre from contrataciones where contrataciones.idcategoria = empleados.idcategoria) as idcat from empleados where idempleado= '".$id."'";
        $empleado = $this->Empleados->query($sql);
        $this->set('empleado', $empleado);
        
        $sql1 = "select * from trabajosgraduacions where idtg in (select idtg from carga_emp_trabajograduacion where idempleado = '".$id."');";
        $tgs = $this->Empleados->query($sql1);
        $this->set('tgsfalse', $tgs);
        
        $sql2 = "select * from horariosgrupos where idhorario in (select idhorario from carga_emp_horarios where idempleado = '".$id."');";
        $hrs = $this->Empleados->query($sql2);
        $this->set('hrsfalse', $hrs);
        
        $sql3 = "select * from comisiones where idcomision in (select idcomision from carga_emp_comisiones where idempleado = '".$id."');";
        $com = $this->Empleados->query($sql3);
        $this->set('comfalse', $com);
        
        $sql4 = "select * from organismos where idorganismo in (select idorganismo from carga_emp_organismos where idempleado = '".$id."');";
        $org = $this->Empleados->query($sql4);
        $this->set('orgfalse', $org);
     
        $sql5 = "select * from cursos where idcurso in (select idcurso from carga_emp_cursos where idempleado = '".$id."');";
        $cur = $this->Empleados->query($sql5);
        $this->set('curfalse', $cur);
  
        
        $dato = $this->Empleados->query("select horas_en_comsiones('".$id."');");
        $this->set('horascomisiones', $dato);
        $dato = $this->Empleados->query("select horas_en_organismos('".$id."');");
        $this->set('horasorganismos', $dato);
        $dato = $this->Empleados->query("select horas_en_cursos('".$id."');");
        $this->set('horascursos', $dato);
        $dato = $this->Empleados->query("select horas_en_tg('".$id."');");
        $this->set('horastg', $dato);
        $dato = $this->Empleados->query("select horas_en_horariosgrupos('".$id."');");
        $this->set('horasgrupos', $dato);
        $dato = $this->Empleados->query("select carga_total_actividades('".$id."');");
        $this->set('horastotal', $dato);
        $dato = $this->Empleados->query("select max_carga('".$id."');");
        $this->set('horasmax', $dato);
        $dato = $this->Empleados->query("select horas_disponibles(max_carga('".$id."'),carga_total_actividades('".$id."'))");
        if ($dato[0][0]['horas_disponibles']<0){
            $dato[0][0]['horas_disponibles']=0;    
        }
        $this->set('horasdiponibles', $dato);
        $dato = $this->Empleados->query("select horas_disponibles(carga_total_actividades('".$id."'),max_carga('".$id."'))");
        if ($dato[0][0]['horas_disponibles']<0){
            $dato[0][0]['horas_disponibles']=0;    
        }
        $this->set('horasextras', $dato);

		//echo $con;
       // $id = intval($id);
        if (empty($id)) 
        { 
            $this->Session->setFlash('Sorry, there is no property with the submitted ID.'); 
            $this->redirect(array('action'=>'index'), null, true); 
        } 

        $this->layout = 'pdf'; //this will use the pdf.ctp layout 
        $this->render(); 
    }
	else 
	{
		$this->redirect(array('controller'=>'Perfiles','action' => 'index'));
	}
}
		
	
}
	
  